package com.hly.musicbackground.model.index.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hly.musicbackground.domain.SearchKey;
import com.hly.musicbackground.model.boots.VO.FictionListVO;
import com.hly.musicbackground.model.movies.VO.MoviesListVO;
import com.hly.musicbackground.model.music.VO.MusicListVO;

import java.util.List;

public interface SearchKeyService extends IService<SearchKey> {

    /**
     * 保存或者更新的搜索记录
     * @param key 搜索关键字
     * @param type 关键字类型
     * */
    void saveOrUpdateKey(String key, String type);

    /**
     * 获取热门关键字【在以后的版本将弃用】
     * @param limit 获取多少条
     * @param type 关键字类型
     * @return List<String> 关键字列表
     * */
    List<String> hotSearchKey(int limit, String type);

    /**
     * 搜索歌曲
     * @param key 搜索关键字
     * @param page 第几页
     * @param limit 多少条
     * @return MusicListVO 歌曲数据
     * */
    MusicListVO searchSong(String key, int page, int limit);

    /**
     * 搜索书籍
     * @param key 搜索关键字
     * @param page 第几页
     * @param limit 多少条
     * @param type 搜索范围【whole为全局搜索】【fast为快速搜索】
     * @return FictionListVO 书籍数据
     * */
    FictionListVO searchBooks(String key, String type, int page, int limit);

    MoviesListVO searchMovies(String key, String type, int page, int limit);

    Object searchKey(String aggregate, String key, String type, int page, int limit);
}
